home *** CD-ROM | disk | FTP | other *** search
/ Graphics Plus / Graphics Plus.iso / general / gems / gemsiv.bib < prev    next >
Encoding:
Text File  |  1994-10-04  |  28.1 KB  |  896 lines

  1. @BOOK{Heckbert94gems,
  2. TITLE={Graphics Gems IV},
  3. EDITOR={Paul Heckbert},
  4. PUBLISHER={Academic Press},
  5. YEAR={1994},
  6. ADDRESS={Boston},
  7. KEYWORDS={computer graphics, image processing},
  8. NOTE={comes with either MAC or DOS floppy},
  9. FTP={code in princeton.edu pub/Graphics/GraphicsGems/GemsIV/GGemsIV.tar.Z},
  10. }
  11.  
  12. @INCOLLECTION{Bashein94,
  13. AUTHOR={Gerard Bashein and Paul R. Detmer},
  14. TITLE={Centroid of a Polygon},
  15. BOOKTITLE={Graphics Gems IV},
  16. EDITOR={Paul Heckbert},
  17. PAGES={3-6},
  18. PUBLISHER={Academic Press},
  19. YEAR={1994},
  20. ADDRESS={Boston},
  21. KEYWORDS={polygon area, polygon centroid},
  22. SUMMARY={
  23. Gives formulas and code to find the centroid (center of mass) of a
  24. polygon.  This is useful when simulating Newtonian dynamics.  Contains
  25. C code.
  26. },
  27. FTP={code in princeton.edu pub/Graphics/GraphicsGems/GemsIV/GGemsIV.tar.Z},
  28. }
  29. @INCOLLECTION{Schorn94,
  30. AUTHOR={Peter Schorn and Frederick Fisher},
  31. TITLE={Testing the Convexity of a Polygon},
  32. BOOKTITLE={Graphics Gems IV},
  33. EDITOR={Paul Heckbert},
  34. PAGES={7-15},
  35. PUBLISHER={Academic Press},
  36. YEAR={1994},
  37. ADDRESS={Boston},
  38. KEYWORDS={computational geometry, concave polygon},
  39. SUMMARY={
  40. Gives an algorithm and code to determine if a polygon is convex,
  41. non-convex (concave but not convex), or non-simple
  42. (self-intersecting).  For many polygon operations, faster algorithms
  43. can be used if the polygon is known to be convex.  This is true when
  44. scan converting a polygon and when determining if a point is inside a
  45. polygon, for instance.  Contains C code.
  46. },
  47. FTP={code in princeton.edu pub/Graphics/GraphicsGems/GemsIV/GGemsIV.tar.Z},
  48. }
  49. @INCOLLECTION{Weiler94,
  50. AUTHOR={Kevin Weiler},
  51. TITLE={An Incremental Angle Point in Polygon Test},
  52. BOOKTITLE={Graphics Gems IV},
  53. EDITOR={Paul Heckbert},
  54. PAGES={16-23},
  55. PUBLISHER={Academic Press},
  56. YEAR={1994},
  57. ADDRESS={Boston},
  58. KEYWORDS={computational geometry, inclusion testing},
  59. SUMMARY={
  60. Provides an algorithm for testing if a point is inside a concave
  61. polygon, a task known as point inclusion testing in computational
  62. geometry.  Point-in-polygon testing is a basic task when ray tracing
  63. polygonal models, so these methods are useful for 3D as well as 2D
  64. graphics.  Contains C code.
  65. },
  66. FTP={code in princeton.edu pub/Graphics/GraphicsGems/GemsIV/GGemsIV.tar.Z},
  67. }
  68. @INCOLLECTION{Haines94,
  69. AUTHOR={Eric Haines},
  70. TITLE={Point in Polygon Strategies},
  71. BOOKTITLE={Graphics Gems IV},
  72. EDITOR={Paul Heckbert},
  73. PAGES={24-46},
  74. PUBLISHER={Academic Press},
  75. YEAR={1994},
  76. ADDRESS={Boston},
  77. KEYWORDS={computational geometry, inclusion testing,
  78. ray-polygon intersection testing},
  79. SUMMARY={
  80. Provides algorithms for testing if a point is inside a polygon, a task
  81. known as point inclusion testing in computational geometry.
  82. Point-in-polygon testing is a basic task when ray tracing polygonal
  83. models, so these methods are useful for 3D as well as 2D graphics.
  84. Haines surveys a number of algorithms for point inclusion testing in
  85. both convex and concave polygons, with empirical speed tests and
  86. practical optimizations.  Contains C code.
  87. },
  88. FTP={code in princeton.edu pub/Graphics/GraphicsGems/GemsIV/GGemsIV.tar.Z},
  89. }
  90. @INCOLLECTION{Lischinski94triang,
  91. AUTHOR={Dani Lischinski},
  92. TITLE={Incremental {D}elaunay Triangulation},
  93. BOOKTITLE={Graphics Gems IV},
  94. EDITOR={Paul Heckbert},
  95. PAGES={47-59},
  96. PUBLISHER={Academic Press},
  97. YEAR={1994},
  98. ADDRESS={Boston},
  99. KEYWORDS={mesh generation, polygonization, Voronoi diagram,
  100. Delaunay triangulation},
  101. SUMMARY={
  102. Gives some code to solve a very important problem:  finding Delaunay
  103. triangulations and Voronoi diagrams in 2D.  These two geometric
  104. constructions are useful for triangular mesh generation and for nearest
  105. neighbor finding, respectively.  Triangular mesh generation comes up
  106. when doing interpolation of surfaces from scattered data points, and in
  107. finite element simulations of all kinds, such as radiosity.  Voronoi
  108. diagrams are used in many computational geometry algorithms.  Contains
  109. C++ code.
  110. },
  111. FTP={code in princeton.edu pub/Graphics/GraphicsGems/GemsIV/GGemsIV.tar.Z},
  112. }
  113. @INCOLLECTION{Glassner94normal,
  114. AUTHOR={Andrew Glassner},
  115. TITLE={Building Vertex Normals from an Unstructured Polygon List},
  116. BOOKTITLE={Graphics Gems IV},
  117. EDITOR={Paul Heckbert},
  118. PAGES={60-73},
  119. PUBLISHER={Academic Press},
  120. YEAR={1994},
  121. ADDRESS={Boston},
  122. KEYWORDS={smooth shading, topology, polyhedron},
  123. SUMMARY={
  124. Solves a fairly common rendering problem:  if one is given a set of
  125. polygons in raw form, with no topological (adjacency) information, and
  126. asked to do smooth shading (Gouraud or Phong shading) of them, one must
  127. infer topology and compute vertex normals.  Contains C code.
  128. },
  129. FTP={code in princeton.edu pub/Graphics/GraphicsGems/GemsIV/GGemsIV.tar.Z},
  130. }
  131. @INCOLLECTION{Greene94,
  132. AUTHOR={Ned Greene},
  133. TITLE={Detecting Intersection of a Rectangular Solid and a Convex Polyhedron},
  134. BOOKTITLE={Graphics Gems IV},
  135. EDITOR={Paul Heckbert},
  136. PAGES={74-82},
  137. PUBLISHER={Academic Press},
  138. YEAR={1994},
  139. ADDRESS={Boston},
  140. KEYWORDS={collision detection, octree, computational geometry},
  141. SUMMARY={
  142. Presents an optimized technique to test for intersection between a
  143. convex polyhedron and a box.  This is useful when comparing bounding
  144. boxes against a viewing frustum in a rendering program, for instance.
  145. Contains pseudocode.
  146. },
  147. }
  148. @INCOLLECTION{Rabbitz94,
  149. AUTHOR={Rich Rabbitz},
  150. TITLE={Fast Collision Detection of Moving Convex Polyhedra},
  151. BOOKTITLE={Graphics Gems IV},
  152. EDITOR={Paul Heckbert},
  153. PAGES={83-109},
  154. PUBLISHER={Academic Press},
  155. YEAR={1994},
  156. ADDRESS={Boston},
  157. KEYWORDS={animation, collision detection, computational geometry, polyhedron},
  158. SUMMARY={
  159. A turn-key piece of software that solves a difficult but basic problem
  160. in physically based animation and interactive modeling.  Contains C
  161. code.
  162. },
  163. FTP={code in princeton.edu pub/Graphics/GraphicsGems/GemsIV/GGemsIV.tar.Z},
  164. }
  165. @INCOLLECTION{Hart94,
  166. AUTHOR={John C. Hart},
  167. TITLE={Distance to an Ellipsoid},
  168. BOOKTITLE={Graphics Gems IV},
  169. EDITOR={Paul Heckbert},
  170. PAGES={113-119},
  171. PUBLISHER={Academic Press},
  172. YEAR={1994},
  173. ADDRESS={Boston},
  174. KEYWORDS={ray tracing, ellipse},
  175. SUMMARY={
  176. Gives the formulas necessary to find the distance from a point to an
  177. ellipsoid, or from a point to an ellipse.  These formulas can be useful
  178. for geometric modeling or for ray tracing.
  179. },
  180. }
  181. @INCOLLECTION{Ohashi94,
  182. AUTHOR={Yoshikazu Ohashi},
  183. TITLE={Fast Linear Approximations of {E}uclidean Distance in Higher Dimensions},
  184. BOOKTITLE={Graphics Gems IV},
  185. EDITOR={Paul Heckbert},
  186. PAGES={120-124},
  187. PUBLISHER={Academic Press},
  188. YEAR={1994},
  189. ADDRESS={Boston},
  190. KEYWORDS={integer arithmetic, square root},
  191. SUMMARY={
  192. Provides optimized formulas for approximating Euclidean distance in two
  193. or more dimensions without square roots.  Contains C code.
  194. },
  195. FTP={code in princeton.edu pub/Graphics/GraphicsGems/GemsIV/GGemsIV.tar.Z},
  196. }
  197. @INCOLLECTION{Donovan94,
  198. AUTHOR={Walt Donovan and Tim Van Hook},
  199. TITLE={Direct Outcode Calculation for Faster Clip Testing},
  200. BOOKTITLE={Graphics Gems IV},
  201. EDITOR={Paul Heckbert},
  202. PAGES={125-131},
  203. PUBLISHER={Academic Press},
  204. YEAR={1994},
  205. ADDRESS={Boston},
  206. KEYWORDS={IEEE floating point arithmetic, line clipping},
  207. SUMMARY={
  208. A clever optimization of clip testing that exploits the properties
  209. of IEEE floating point format.  Techniques are described to compute the
  210. ``outcodes'' needed for line clipping using only integer arithmetic.
  211. Contains C code.
  212. },
  213. FTP={code in princeton.edu pub/Graphics/GraphicsGems/GemsIV/GGemsIV.tar.Z},
  214. }
  215. @INCOLLECTION{Miller94,
  216. AUTHOR={Robert D. Miller},
  217. TITLE={Computing the Area of a Spherical Polygon},
  218. BOOKTITLE={Graphics Gems IV},
  219. EDITOR={Paul Heckbert},
  220. PAGES={132-137},
  221. PUBLISHER={Academic Press},
  222. YEAR={1994},
  223. ADDRESS={Boston},
  224. KEYWORDS={cartography, Earth},
  225. SUMMARY={
  226. Gives the formulas needed to find the area of a polygon on a sphere
  227. that is bounded by great circle arcs.  This is useful in cartography.
  228. Contains C code.
  229. },
  230. FTP={code in princeton.edu pub/Graphics/GraphicsGems/GemsIV/GGemsIV.tar.Z},
  231. }
  232. @INCOLLECTION{Hill94perp,
  233. AUTHOR={F. S. {Hill Jr.}},
  234. TITLE={The Pleasures of 'Perp Dot' Products},
  235. BOOKTITLE={Graphics Gems IV},
  236. EDITOR={Paul Heckbert},
  237. PAGES={138-148},
  238. PUBLISHER={Academic Press},
  239. YEAR={1994},
  240. ADDRESS={Boston},
  241. KEYWORDS={geometry, fillet, perp-dot product, projection},
  242. SUMMARY={
  243. A tutorial on the ``perp dot product,'' which is the dot product, in
  244. 2D, of one vector and the vector perpendicular to another.
  245. },
  246. }
  247. @INCOLLECTION{Hanson94,
  248. AUTHOR={Andrew J. Hanson},
  249. TITLE={Geometry for N-Dimensional Graphics},
  250. BOOKTITLE={Graphics Gems IV},
  251. EDITOR={Paul Heckbert},
  252. PAGES={149-170},
  253. PUBLISHER={Academic Press},
  254. YEAR={1994},
  255. ADDRESS={Boston},
  256. KEYWORDS={geometry, hyperplane, determinant, Levi-Civita, volume},
  257. SUMMARY={
  258. A tutorial on n-dimensional geometry.  Hanson generalizes a number of
  259. familiar concepts, such as plane equations, clipping, volume, and
  260. rotation, to n-D.
  261. },
  262. }
  263. @INCOLLECTION{Shoemake94arcball,
  264. AUTHOR={Ken Shoemake},
  265. TITLE={Arcball Rotation Control},
  266. BOOKTITLE={Graphics Gems IV},
  267. EDITOR={Paul Heckbert},
  268. PAGES={175-192},
  269. PUBLISHER={Academic Press},
  270. YEAR={1994},
  271. ADDRESS={Boston},
  272. KEYWORDS={interaction, quaternion},
  273. SUMMARY={
  274. Asks the question:  how does one control the three degrees of freedom
  275. of rotation in 3D, using a 2D input device such as a mouse?  Shoemake's
  276. answer: use a pair of points to designate a relative rotation, and use
  277. quaternions to make the rotation axis specification intuitive and
  278. consistent.  Contains C code.
  279. },
  280. FTP={code in princeton.edu pub/Graphics/GraphicsGems/GemsIV/GGemsIV.tar.Z},
  281. }
  282. @INCOLLECTION{Cromwell94,
  283. AUTHOR={Robert L. Cromwell},
  284. TITLE={Efficient Eigenvalues for Visualization},
  285. BOOKTITLE={Graphics Gems IV},
  286. EDITOR={Paul Heckbert},
  287. PAGES={193-198},
  288. PUBLISHER={Academic Press},
  289. YEAR={1994},
  290. ADDRESS={Boston},
  291. KEYWORDS={scatterplot, matrix of central moments},
  292. SUMMARY={
  293. Answers the question:  if I have a set of points in 3D, from what
  294. direction should I view them to get the best view (minimizing bunching
  295. in the projection)?  Solving this involves the eigenvalues of a 3x3
  296. matrix.  Optimized formulas are given for computing the eigenvalues.
  297. },
  298. }
  299. @INCOLLECTION{Wu94,
  300. AUTHOR={Kevin Wu},
  301. TITLE={Fast Inversion of Length- and Angle-Preserving Matrices},
  302. BOOKTITLE={Graphics Gems IV},
  303. EDITOR={Paul Heckbert},
  304. PAGES={199-206},
  305. PUBLISHER={Academic Press},
  306. YEAR={1994},
  307. ADDRESS={Boston},
  308. KEYWORDS={eigenvalue, 4x4 matrix},
  309. SUMMARY={
  310. Presents optimized formulas and code to compute the inverse of a 4x4
  311. matrix that is known to be length- and angle-preserving (consisting of
  312. only rotation, translation, and uniform scaling).  Contains C code.
  313. },
  314. FTP={code in princeton.edu pub/Graphics/GraphicsGems/GemsIV/GGemsIV.tar.Z},
  315. }
  316. @INCOLLECTION{Shoemake94decomp,
  317. AUTHOR={Ken Shoemake},
  318. TITLE={Polar Matrix Decomposition},
  319. BOOKTITLE={Graphics Gems IV},
  320. EDITOR={Paul Heckbert},
  321. PAGES={207-221},
  322. PUBLISHER={Academic Press},
  323. YEAR={1994},
  324. ADDRESS={Boston},
  325. KEYWORDS={quaternion, spectral decomposition, singular value decomposition},
  326. SUMMARY={
  327. Describes a method for decomposing an affine 3D transformation into
  328. translation, scaling, and rotation transformations in a physically
  329. meaningful way.  This can be useful for keyframe animation.  Contains C
  330. code.
  331. },
  332. FTP={code in princeton.edu pub/Graphics/GraphicsGems/GemsIV/GGemsIV.tar.Z},
  333. }
  334. @INCOLLECTION{Shoemake94euler,
  335. AUTHOR={Ken Shoemake},
  336. TITLE={Euler Angle Conversion},
  337. BOOKTITLE={Graphics Gems IV},
  338. EDITOR={Paul Heckbert},
  339. PAGES={222-229},
  340. PUBLISHER={Academic Press},
  341. YEAR={1994},
  342. ADDRESS={Boston},
  343. KEYWORDS={quaternion, rotation},
  344. SUMMARY={
  345. Gives code to convert a rotation expressed by one triple of axes into
  346. another triple.  Rotations in 3D are often described in terms of Euler
  347. angles:  rotations about x, y, and z in some order.  The order of
  348. rotations is significant, but not standardized.  These routines are
  349. useful for doing such conversions.  Contains C code.
  350. },
  351. FTP={code in princeton.edu pub/Graphics/GraphicsGems/GemsIV/GGemsIV.tar.Z},
  352. }
  353. @INCOLLECTION{Shoemake94twist,
  354. AUTHOR={Ken Shoemake},
  355. TITLE={Fiber Bundle Twist Reduction},
  356. BOOKTITLE={Graphics Gems IV},
  357. EDITOR={Paul Heckbert},
  358. PAGES={230-236},
  359. PUBLISHER={Academic Press},
  360. YEAR={1994},
  361. ADDRESS={Boston},
  362. KEYWORDS={animation, camera control, quaternion, topology, rotation},
  363. SUMMARY={
  364. Applies some advanced concepts from topology to the problem of
  365. minimizing twist (rotation about the z axis of screen space) in
  366. animation.  Has color plate.
  367. },
  368. }
  369. @INCOLLECTION{Eilers94,
  370. AUTHOR={Paul H. C. Eilers},
  371. TITLE={Smoothing and Interpolation with Finite Differences},
  372. BOOKTITLE={Graphics Gems IV},
  373. EDITOR={Paul Heckbert},
  374. PAGES={241-250},
  375. PUBLISHER={Academic Press},
  376. YEAR={1994},
  377. ADDRESS={Boston},
  378. KEYWORDS={data smoothing, curve smoothing},
  379. SUMMARY={
  380. Gives simple techniques for smoothing a set of uniformly spaced
  381. samples.  This can be used to remove noise from input data.  Contains C
  382. code.
  383. },
  384. FTP={code in princeton.edu pub/Graphics/GraphicsGems/GemsIV/GGemsIV.tar.Z},
  385. }
  386. @INCOLLECTION{Barry94,
  387. AUTHOR={Phillip Barry and Ron Goldman},
  388. TITLE={Knot Insertion Using Forward Differences},
  389. BOOKTITLE={Graphics Gems IV},
  390. EDITOR={Paul Heckbert},
  391. PAGES={251-255},
  392. PUBLISHER={Academic Press},
  393. YEAR={1994},
  394. ADDRESS={Boston},
  395. KEYWORDS={curve subdivision},
  396. SUMMARY={
  397. Describes a fast technique for subdivision of B-spline curves and
  398. surfaces.  Subdivision is a fundamental operation in modeling and
  399. rendering.  Contains pseudocode.
  400. },
  401. }
  402. @INCOLLECTION{Bajaj94,
  403. AUTHOR={Chandrajit Bajaj and Guoliang Xu},
  404. TITLE={Converting a Rational Curve to a Standard Rational {B}ernstein-{B}\'ezier Representation},
  405. BOOKTITLE={Graphics Gems IV},
  406. EDITOR={Paul Heckbert},
  407. PAGES={256-260},
  408. PUBLISHER={Academic Press},
  409. YEAR={1994},
  410. ADDRESS={Boston},
  411. KEYWORDS={Bezier curve, rational curve, NURB},
  412. SUMMARY={
  413. Discusses a low-level operation on curves:  conversion of a rational
  414. piecewise polynomial curve into rational Bernstein-Bezier form, a
  415. commonly used type of non-uniform rational B-spline (NURB).  Rational
  416. splines are useful because they allow conic curves to be represented
  417. exactly, whereas standard (polynomial) splines do not.  Contains
  418. pseudocode.
  419. },
  420. }
  421. @INCOLLECTION{Klassen94,
  422. AUTHOR={R. Victor Klassen},
  423. TITLE={Intersecting Parametric Cubic Curves by Midpoint Subdivision},
  424. BOOKTITLE={Graphics Gems IV},
  425. EDITOR={Paul Heckbert},
  426. PAGES={261-277},
  427. PUBLISHER={Academic Press},
  428. YEAR={1994},
  429. ADDRESS={Boston},
  430. KEYWORDS={Bezier curve, curve intersection, curve subdivision},
  431. SUMMARY={
  432. Provides code to find the intersection points of planar cubic curves.
  433. Contains C++ code.
  434. },
  435. FTP={code in princeton.edu pub/Graphics/GraphicsGems/GemsIV/GGemsIV.tar.Z},
  436. }
  437. @INCOLLECTION{Lischinski94patch,
  438. AUTHOR={Dani Lischinski},
  439. TITLE={Converting Rectangular Patches into {B}\'ezier Triangles},
  440. BOOKTITLE={Graphics Gems IV},
  441. EDITOR={Paul Heckbert},
  442. PAGES={278-285},
  443. PUBLISHER={Academic Press},
  444. YEAR={1994},
  445. ADDRESS={Boston},
  446. KEYWORDS={Bezier surface, biquadratic patch},
  447. SUMMARY={
  448. A parametric surface conversion routine.  Contains C++ code.
  449. },
  450. FTP={code in princeton.edu pub/Graphics/GraphicsGems/GemsIV/GGemsIV.tar.Z},
  451. }
  452. @INCOLLECTION{Peterson94,
  453. AUTHOR={John W. Peterson},
  454. TITLE={Tessellation of NURB Surfaces},
  455. BOOKTITLE={Graphics Gems IV},
  456. EDITOR={Paul Heckbert},
  457. PAGES={286-320},
  458. PUBLISHER={Academic Press},
  459. YEAR={1994},
  460. ADDRESS={Boston},
  461. KEYWORDS={surface subdivision, NURB, Bezier surface, B-spline surface,
  462. polygonization},
  463. SUMMARY={
  464. Gives code for polygonizing a very general class of parametric
  465. surfaces: NURBs.  Polygonization of parametric surfaces is useful both
  466. for rendering and for modeling.  Contains C code.
  467. },
  468. FTP={code in princeton.edu pub/Graphics/GraphicsGems/GemsIV/GGemsIV.tar.Z},
  469. }
  470. @INCOLLECTION{Shene94equation,
  471. AUTHOR={Ching-Kuang Shene},
  472. TITLE={Equations of Cylinders and Cones},
  473. BOOKTITLE={Graphics Gems IV},
  474. EDITOR={Paul Heckbert},
  475. PAGES={321-323},
  476. PUBLISHER={Academic Press},
  477. YEAR={1994},
  478. ADDRESS={Boston},
  479. KEYWORDS={quadric surface},
  480. SUMMARY={
  481. Derives the implicit equations of cylinders and cones.
  482. },
  483. }
  484. @INCOLLECTION{Bloomenthal94,
  485. AUTHOR={Jules Bloomenthal},
  486. TITLE={An Implicit Surface Polygonizer},
  487. BOOKTITLE={Graphics Gems IV},
  488. EDITOR={Paul Heckbert},
  489. PAGES={324-349},
  490. PUBLISHER={Academic Press},
  491. YEAR={1994},
  492. ADDRESS={Boston},
  493. KEYWORDS={iso-surface, marching cubes, polygonization},
  494. SUMMARY={
  495. Gives code to polygonize an arbitrary implicit surface.  Polygonization
  496. is a common approach to implicit surface rendering and volume
  497. rendering.  When combined with code for trilinear interpolation code, a
  498. program for polygonizing volume data can easily be constructed.  The
  499. resulting polygonizations will be superior to those generated by the
  500. ``Marching Cubes'' algorithm, in many cases.  Contains C code.
  501. },
  502. FTP={code in princeton.edu pub/Graphics/GraphicsGems/GemsIV/GGemsIV.tar.Z},
  503. }
  504. @INCOLLECTION{Shene94intersect,
  505. AUTHOR={Ching-Kuang Shene},
  506. TITLE={Computing the Intersection of a Line and a Cylinder},
  507. BOOKTITLE={Graphics Gems IV},
  508. EDITOR={Paul Heckbert},
  509. PAGES={353-355},
  510. PUBLISHER={Academic Press},
  511. YEAR={1994},
  512. ADDRESS={Boston},
  513. KEYWORDS={quadric surface, ray tracing, cone},
  514. SUMMARY={
  515. Geometric method for intersecting a ray with a cylinder.
  516. },
  517. }
  518. @INCOLLECTION{Waggenspack94,
  519. AUTHOR={Joseph M. Cychosz and Warren N. {Waggenspack Jr.}},
  520. TITLE={Intersecting a Ray with a Cylinder},
  521. BOOKTITLE={Graphics Gems IV},
  522. EDITOR={Paul Heckbert},
  523. PAGES={356-365},
  524. PUBLISHER={Academic Press},
  525. YEAR={1994},
  526. ADDRESS={Boston},
  527. KEYWORDS={quadric surface, ray tracing},
  528. SUMMARY={
  529. Geometric method for intersecting a ray with a cylinder.  Contains C
  530. code.
  531. },
  532. FTP={code in princeton.edu pub/Graphics/GraphicsGems/GemsIV/GGemsIV.tar.Z},
  533. }
  534. @INCOLLECTION{Cohen94,
  535. AUTHOR={Daniel Cohen},
  536. TITLE={Voxel Traversal along a 3{D} Line},
  537. BOOKTITLE={Graphics Gems IV},
  538. EDITOR={Paul Heckbert},
  539. PAGES={366-369},
  540. PUBLISHER={Academic Press},
  541. YEAR={1994},
  542. ADDRESS={Boston},
  543. KEYWORDS={digital line drawing, grid traversal, ray tracing, scan conversion},
  544. SUMMARY={
  545. Visits all the voxels along a 3D line segment with integer endpoints,
  546. something like a 3D Bresenham's algorithm.  This code could be modified
  547. to take endpoints with fixed point coordinates.  Then the algorithm
  548. could be very useful for ray tracing, when a uniform grid is being used
  549. as a spatial data structure for optimization, or for volume rendering
  550. of grid data.  Contains C code.
  551. },
  552. FTP={code in princeton.edu pub/Graphics/GraphicsGems/GemsIV/GGemsIV.tar.Z},
  553. }
  554. @INCOLLECTION{Chiu94,
  555. AUTHOR={Kenneth Chiu and Peter Shirley and Changyaw Wang},
  556. TITLE={Multi-Jittered Sampling},
  557. BOOKTITLE={Graphics Gems IV},
  558. EDITOR={Paul Heckbert},
  559. PAGES={370-374},
  560. PUBLISHER={Academic Press},
  561. YEAR={1994},
  562. ADDRESS={Boston},
  563. KEYWORDS={antialiasing, jitter, stochastic sampling},
  564. SUMMARY={
  565. Presents a new technique for high quality stochastic sampling.  This is
  566. useful for antialiasing.  Contains C code.
  567. },
  568. FTP={code in princeton.edu pub/Graphics/GraphicsGems/GemsIV/GGemsIV.tar.Z},
  569. }
  570. @INCOLLECTION{Heckbert94minimal,
  571. AUTHOR={Paul S. Heckbert},
  572. TITLE={A Minimal Ray Tracer},
  573. BOOKTITLE={Graphics Gems IV},
  574. EDITOR={Paul Heckbert},
  575. PAGES={375-381},
  576. PUBLISHER={Academic Press},
  577. YEAR={1994},
  578. ADDRESS={Boston},
  579. KEYWORDS={ray tracing, obfuscation},
  580. SUMMARY={
  581. Answers the question: how short can a ray tracer be?  Contains C code.
  582. },
  583. FTP={code in princeton.edu pub/Graphics/GraphicsGems/GemsIV/GGemsIV.tar.Z},
  584. }
  585. @INCOLLECTION{Schlick94phong,
  586. AUTHOR={Christophe Schlick},
  587. TITLE={A Fast Alternative to {P}hong's Specular Model},
  588. BOOKTITLE={Graphics Gems IV},
  589. EDITOR={Paul Heckbert},
  590. PAGES={385-387},
  591. PUBLISHER={Academic Press},
  592. YEAR={1994},
  593. ADDRESS={Boston},
  594. KEYWORDS={Phong illumination, specular reflection, exponentiation},
  595. SUMMARY={
  596. Describes a simple approximation to Phong's specular reflection formula
  597. that does not require exponentiation or table lookup.
  598. },
  599. }
  600. @INCOLLECTION{Fisher94,
  601. AUTHOR={Frederick Fisher and Andrew Woo},
  602. TITLE={{R.E} versus {N.H} Specular Highlights},
  603. BOOKTITLE={Graphics Gems IV},
  604. EDITOR={Paul Heckbert},
  605. PAGES={388-400},
  606. PUBLISHER={Academic Press},
  607. YEAR={1994},
  608. ADDRESS={Boston},
  609. KEYWORDS={Phong illumination, specular reflection},
  610. SUMMARY={
  611. Compares two common variants of Phong's specular reflection formula and
  612. derives a surprising relationship between them.
  613. },
  614. }
  615. @INCOLLECTION{Schlick94perlin,
  616. AUTHOR={Christophe Schlick},
  617. TITLE={Fast Alternatives to {P}erlin's Bias and Gain Functions},
  618. BOOKTITLE={Graphics Gems IV},
  619. EDITOR={Paul Heckbert},
  620. PAGES={401-403},
  621. PUBLISHER={Academic Press},
  622. YEAR={1994},
  623. ADDRESS={Boston},
  624. KEYWORDS={hypertexture, texture synthesis},
  625. SUMMARY={
  626. Gives a simple approximation to some formulas that are commonly used in
  627. procedural texture synthesis and volume synthesis.
  628. },
  629. }
  630. @INCOLLECTION{Behrens94,
  631. AUTHOR={Uwe Behrens},
  632. TITLE={Fence Shading},
  633. BOOKTITLE={Graphics Gems IV},
  634. EDITOR={Paul Heckbert},
  635. PAGES={404-409},
  636. PUBLISHER={Academic Press},
  637. YEAR={1994},
  638. ADDRESS={Boston},
  639. KEYWORDS={Gouraud shading, Phong shading},
  640. SUMMARY={
  641. Proposes an approach halfway between Gouraud shading and Phong
  642. shading:  shade along the edges of the polygon, but interpolate across
  643. the interior.  Contains pseudocode.
  644. },
  645. }
  646. @INCOLLECTION{Kopp94,
  647. AUTHOR={Manfred Kopp and Michael Gervautz},
  648. TITLE={{XOR}-Drawing with Guaranteed Contrast},
  649. BOOKTITLE={Graphics Gems IV},
  650. EDITOR={Paul Heckbert},
  651. PAGES={413-414},
  652. PUBLISHER={Academic Press},
  653. YEAR={1994},
  654. ADDRESS={Boston},
  655. KEYWORDS={cursor},
  656. SUMMARY={
  657. Gives simple guidelines for the choice of write mask when drawing
  658. cursors and other graphics with exclusive-OR on multi-bit frame
  659. buffers.
  660. },
  661. }
  662. @INCOLLECTION{Ward94,
  663. AUTHOR={Greg Ward},
  664. TITLE={A Contrast-Based Scalefactor for Luminance Display},
  665. BOOKTITLE={Graphics Gems IV},
  666. EDITOR={Paul Heckbert},
  667. PAGES={415-421},
  668. PUBLISHER={Academic Press},
  669. YEAR={1994},
  670. ADDRESS={Boston},
  671. KEYWORDS={brightness, color, image display, perception, Radiance system},
  672. SUMMARY={
  673. Presents a simple technique for displaying pictures that have a dynamic
  674. range (ratio of brightest to dimmest pixel) beyond that of the
  675. display.  Has color plates.
  676. },
  677. }
  678. @INCOLLECTION{Schlick94dynamic,
  679. AUTHOR={Christophe Schlick},
  680. TITLE={High Dynamic Range Pixels},
  681. BOOKTITLE={Graphics Gems IV},
  682. EDITOR={Paul Heckbert},
  683. PAGES={422-429},
  684. PUBLISHER={Academic Press},
  685. YEAR={1994},
  686. ADDRESS={Boston},
  687. KEYWORDS={quantization, dynamic range},
  688. SUMMARY={
  689. Proposes a pixel encoding technique that allows color images with high
  690. dynamic range to be stored using only 24 bits per pixel.  Contains C
  691. code.
  692. },
  693. FTP={code in princeton.edu pub/Graphics/GraphicsGems/GemsIV/GGemsIV.tar.Z},
  694. }
  695. @INCOLLECTION{Schlag94,
  696. AUTHOR={John Schlag},
  697. TITLE={Fast Embossing Effects on Raster Image Data},
  698. BOOKTITLE={Graphics Gems IV},
  699. EDITOR={Paul Heckbert},
  700. PAGES={433-437},
  701. PUBLISHER={Academic Press},
  702. YEAR={1994},
  703. ADDRESS={Boston},
  704. KEYWORDS={bump mapping, texture, image filter, paint program, shading},
  705. SUMMARY={
  706. Presents a simple, fast technique that interprets an image as a height
  707. field or bump map, and then shades it, yielding an embossing effect.
  708. Has color plate.  Contains C code.
  709. },
  710. FTP={code in princeton.edu pub/Graphics/GraphicsGems/GemsIV/GGemsIV.tar.Z},
  711. }
  712. @INCOLLECTION{Heckbert94coons,
  713. AUTHOR={Paul S. Heckbert},
  714. TITLE={Bilinear {C}oons Patch Image Warping},
  715. BOOKTITLE={Graphics Gems IV},
  716. EDITOR={Paul Heckbert},
  717. PAGES={438-446},
  718. PUBLISHER={Academic Press},
  719. YEAR={1994},
  720. ADDRESS={Boston},
  721. KEYWORDS={morph, resampling, bilinear Coons patch},
  722. SUMMARY={
  723. Presents a fast technique to warp an image according to four boundary
  724. curves.  This can be used to correct distortions in images, or to
  725. introduce them, for special effects purposes.  Has color plates.
  726. Contains C code.
  727. },
  728. FTP={code in princeton.edu pub/Graphics/GraphicsGems/GemsIV/GGemsIV.tar.Z},
  729. }
  730. @INCOLLECTION{Wolberg94,
  731. AUTHOR={George Wolberg and Henry Massalin},
  732. TITLE={Fast Convolution with Packed Lookup Tables},
  733. BOOKTITLE={Graphics Gems IV},
  734. EDITOR={Paul Heckbert},
  735. PAGES={447-464},
  736. PUBLISHER={Academic Press},
  737. YEAR={1994},
  738. ADDRESS={Boston},
  739. KEYWORDS={image filter, image magnification, image resampling},
  740. SUMMARY={
  741. Gives optimized code for convolution of discrete signals.  This is
  742. useful for image resampling and filtering.  Contains C code.
  743. },
  744. FTP={code in princeton.edu pub/Graphics/GraphicsGems/GemsIV/GGemsIV.tar.Z},
  745. }
  746. @INCOLLECTION{Cychosz94,
  747. AUTHOR={Joseph M. Cychosz},
  748. TITLE={Efficient Binary Image Thinning Using Neighborhood Maps},
  749. BOOKTITLE={Graphics Gems IV},
  750. EDITOR={Paul Heckbert},
  751. PAGES={465-473},
  752. PUBLISHER={Academic Press},
  753. YEAR={1994},
  754. ADDRESS={Boston},
  755. KEYWORDS={image skeleton, image filter},
  756. SUMMARY={
  757. Provides fast code to thin a bitmap image and find its ``skeleton.''
  758. Image thinning is used for pattern recognition.  Contains C code.
  759. },
  760. FTP={code in princeton.edu pub/Graphics/GraphicsGems/GemsIV/GGemsIV.tar.Z},
  761. }
  762. @INCOLLECTION{Zuiderveld94,
  763. AUTHOR={Karel Zuiderveld},
  764. TITLE={Contrast Limited Adaptive Histogram Equalization},
  765. BOOKTITLE={Graphics Gems IV},
  766. EDITOR={Paul Heckbert},
  767. PAGES={474-485},
  768. PUBLISHER={Academic Press},
  769. YEAR={1994},
  770. ADDRESS={Boston},
  771. KEYWORDS={contrast enhancement},
  772. SUMMARY={
  773. Presents a contrast enhancement technique that overcomes some of the
  774. flaws of simple histogram equalization, such as noise amplification and
  775. suppression of local contrast.  Contains C code.
  776. },
  777. FTP={code in princeton.edu pub/Graphics/GraphicsGems/GemsIV/GGemsIV.tar.Z},
  778. }
  779. @INCOLLECTION{Paeth94,
  780. AUTHOR={Alan W. Paeth},
  781. TITLE={Ideal Tiles for Shading and Halftoning},
  782. BOOKTITLE={Graphics Gems IV},
  783. EDITOR={Paul Heckbert},
  784. PAGES={486-492},
  785. PUBLISHER={Academic Press},
  786. YEAR={1994},
  787. ADDRESS={Boston},
  788. KEYWORDS={bitblt, dither, stipple},
  789. SUMMARY={
  790. Discusses heuristics and design techniques for top-quality dither and
  791. stipple patterns.
  792. },
  793. FTP={picture in princeton.edu pub/Graphics/GraphicsGems/GemsIV/GGemsIV.tar.Z},
  794. }
  795. @INCOLLECTION{Christensen94,
  796. AUTHOR={Jon Christensen and Joe Marks and Stuart Shieber},
  797. TITLE={Placing Text Labels on Maps and Diagrams},
  798. BOOKTITLE={Graphics Gems IV},
  799. EDITOR={Paul Heckbert},
  800. PAGES={497-504},
  801. PUBLISHER={Academic Press},
  802. YEAR={1994},
  803. ADDRESS={Boston},
  804. KEYWORDS={cartography, label placement, layout, relaxation,
  805. simulated annealing},
  806. SUMMARY={
  807. Presents an algorithm to arrange text labels in a way that avoids
  808. overlap.  This is useful in cartography.
  809. },
  810. }
  811. @INCOLLECTION{Szirmay-Kalos94,
  812. AUTHOR={L\'aszl\'o Szirmay-Kalos},
  813. TITLE={Dynamic Layout Algorithm to Display General Graphs},
  814. BOOKTITLE={Graphics Gems IV},
  815. EDITOR={Paul Heckbert},
  816. PAGES={505-517},
  817. PUBLISHER={Academic Press},
  818. YEAR={1994},
  819. ADDRESS={Boston},
  820. KEYWORDS={cartography, layout, graph visualization, physically-based methods},
  821. SUMMARY={
  822. Gives code that finds aesthetic arrangements for a graph.  This could
  823. be used to graphically display data structures.  Contains C++ code.
  824. },
  825. FTP={code in princeton.edu pub/Graphics/GraphicsGems/GemsIV/GGemsIV.tar.Z},
  826. }
  827. @INCOLLECTION{Hill94trilinear,
  828. AUTHOR={Steve Hill},
  829. TITLE={Tri-linear Interpolation},
  830. BOOKTITLE={Graphics Gems IV},
  831. EDITOR={Paul Heckbert},
  832. PAGES={521-525},
  833. PUBLISHER={Academic Press},
  834. YEAR={1994},
  835. ADDRESS={Boston},
  836. KEYWORDS={trilinear interpolation, bilinear interpolation, reconstruction},
  837. SUMMARY={
  838. Gives optimized code for performing linear interpolation in a 3D grid.
  839. Trilinear interpolation is useful for volume rendering, and its 2D
  840. variant, bilinear interpolation, is a very common operation in image
  841. processing.  Contains C code.
  842. },
  843. FTP={code in princeton.edu pub/Graphics/GraphicsGems/GemsIV/GGemsIV.tar.Z},
  844. }
  845. @INCOLLECTION{Eker94,
  846. AUTHOR={Steven Eker},
  847. TITLE={Faster Linear Interpolation},
  848. BOOKTITLE={Graphics Gems IV},
  849. EDITOR={Paul Heckbert},
  850. PAGES={526-533},
  851. PUBLISHER={Academic Press},
  852. YEAR={1994},
  853. ADDRESS={Boston},
  854. KEYWORDS={line drawing, Gouraud shading, integer arithmetic, image resampling},
  855. SUMMARY={
  856. Gives optimized code for generic linear interpolation.  This is most
  857. useful for assembler language programming of graphics operations such
  858. as Gouraud shading and image scaling.  Contains C code.
  859. },
  860. FTP={code in princeton.edu pub/Graphics/GraphicsGems/GemsIV/GGemsIV.tar.Z},
  861. }
  862. @INCOLLECTION{Doue94,
  863. AUTHOR={Jean-Fran\c cois Dou\'e},
  864. TITLE={C++ Vector and Matrix Algebra Routines},
  865. BOOKTITLE={Graphics Gems IV},
  866. EDITOR={Paul Heckbert},
  867. PAGES={534-557},
  868. PUBLISHER={Academic Press},
  869. YEAR={1994},
  870. ADDRESS={Boston},
  871. KEYWORDS={vector algebra, transformation, ray tracing},
  872. SUMMARY={
  873. A C++ subroutine library for 2D, 3D, and 4D vector and matrix
  874. operations.  Contains C++ code.  The Floppy disk that comes with the
  875. book and the FTP collection contain a simple ray tracer written using
  876. the library.
  877. },
  878. FTP={code in princeton.edu pub/Graphics/GraphicsGems/GemsIV/GGemsIV.tar.Z},
  879. }
  880. @INCOLLECTION{Glassner94library,
  881. AUTHOR={Andrew Glassner and Eric Haines},
  882. TITLE={C Header File and Vector Library},
  883. BOOKTITLE={Graphics Gems IV},
  884. EDITOR={Paul Heckbert},
  885. PAGES={558-570},
  886. PUBLISHER={Academic Press},
  887. YEAR={1994},
  888. ADDRESS={Boston},
  889. KEYWORDS={vector algebra, root-finding},
  890. SUMMARY={
  891. Revised version of the ``Graphics Gems'' subroutine library, used in
  892. several other articles in the book.  Contains C code.
  893. },
  894. FTP={code in princeton.edu pub/Graphics/GraphicsGems/GemsIV/GGemsIV.tar.Z},
  895. }
  896.